package com.hxd.otc.utils.rongcloud;

import android.net.Uri;
import android.text.TextUtils;

import com.hxd.otc.common.UserHelper;
import com.hxd.otc.utils.LogUtils;

import io.rong.imkit.RongIM;
import io.rong.imlib.RongIMClient;
import io.rong.imlib.model.UserInfo;

/**
 * Created by lzy on 2019/1/17 0017.
 * description ${融云连接回调}
 */
public class RongIMConnectCallBack extends RongIMClient.ConnectCallback {
    /**
     * Token 错误。可以从下面两点检查 1.  Token 是否过期，如果过期您需要向 App Server 重新请求一个新的 Token
     * 2.  token 对应的 appKey 和工程里设置的 appKey 是否一致
     */
    @Override
    public void onTokenIncorrect() {
        LogUtils.d("connect rongIM -- onTokenIncorrect: ");
        UserHelper.updateRongCloudToken("");
        RongCloudUtils.getInstance().requestRongCloudToken();
    }

    /**
     * 连接融云成功
     *
     * @param userid 当前 token 对应的用户 id
     */
    @Override
    public void onSuccess(String userid) {
        LogUtils.d("connect rongIM -- onSuccess: ");
        String userId = UserHelper.getId();
        if (TextUtils.isEmpty(userId)) return;
        RongIM.getInstance().setCurrentUserInfo(new UserInfo(userId, UserHelper.getNickName(), Uri.parse(UserHelper.getAvatar())));
    }

    /**
     * 连接融云失败
     *
     * @param errorCode 错误码，可到官网 查看错误码对应的注释
     */
    @Override
    public void onError(RongIMClient.ErrorCode errorCode) {
        LogUtils.d("connect rongIM -- onError: " + errorCode);
    }
}
